---
title: Configuration settings
summary: Configuration keys consumed by this library, retrieval methods, and runtime dependencies.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Application.Claim
reference_type: embedded
---

# Configuration settings

`SAIF.Application.Claim` has a minimal, externalized configuration surface: it consumes exactly one runtime-variable Environment API setting (`imagingapiurl`) and one logical Oracle database portal key (`ClaimDPI`); connection strings, AD endpoints, and credentials are all resolved inside the BOF framework and are invisible to this code.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| `GetConfigSetting(key As String)` | `EnvironmentService` | `SAIF.Framework.Security` (backed by `SAIF.BOF.Framework.Security.EnvironmentApi`) | Single call site inside a lazy property getter: `New ImagingClient(EnvironmentService.GetConfigSetting("imagingapiurl"))`; no dedicated configuration class or constructor injection. |
| `DataLayer.CreateOraclePortal(inKey As String)` | `DataLayer` (inherited from `AppManagerBase`) | `SAIF.Application` / BOF framework | Indirect connection configuration: `OnCreateDataLayer()` calls `CreateOraclePortal(ClaimAppConstants.DPIClaimKey)` with logical portal key `"ClaimDPI"`; the framework resolves the actual Oracle connection string from that key. |
| `DataLayer.DBUser` (assignment) | `DataLayer` | `SAIF.Application` / BOF framework | `OnInitialize()` sets `DataLayer.DBUser = "CLM"` — a hard-coded database schema/user selector, not a configurable setting. |

## Environment API settings

Settings retrieved via `EnvironmentService` (centralized environment configuration service).

| Setting key | Method | Data type | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- | --- |
| `imagingapiurl` | `GetConfigSetting` | String | Base URL of the SAIF Imaging API, used to construct `ImagingAPI.Client.ImagingClient`. Varies by environment (DEV/TEST/UAT/PROD). Retrieval is lazy, on first access of `ClaimImageApiClient`; no null/empty guard or fallback default. | `ClaimAppManager` (`ClaimImageApiClient`) | `SAIF.Application.Claim/ClaimAppManager.vb` |

**1 unique Environment API key.**

## AppSettings (Web.config)

None. Neither `SAIF.Application.Claim/app.config` nor `SAIF.Application.Claim/Web.config` declares an `<appSettings>` section, and no `ConfigurationManager.AppSettings` call site exists in the source.

## Database connection configuration

| Connection name | Provider | Retrieval method | Purpose | Source |
| --- | --- | --- | --- | --- |
| Claim data portal (`ClaimDPI`) | Oracle — ODP.NET Managed Driver (`Oracle.ManagedDataAccess` 21.5.0) | `DataLayer.CreateOraclePortal(ClaimAppConstants.DPIClaimKey)`, DB user pinned to `"CLM"` via `DataLayer.DBUser` | All claim data access performed through `ClaimAppManager.DPI` (`clsClaimData.GetData`, `clsEmployeeData.GetDataByMailID`, `ClaimServices.HasOverrideAcess`, `clsClaimTaskGenerator`) plus transaction control via `DataLayer.DAL.BeginTransaction`/`EndTransaction` | `SAIF.Application.Claim/ClaimAppManager.vb` |

**1 logical database connection.** No connection string, TNS alias, host, or credential appears anywhere in this library — resolution is entirely framework-side from the `ClaimDPI` key. Connection failure is wrapped and rethrown as `ApplicationException("Unable to Establish Database Connection", ex)` ([BR-CLM-014](business-rules.md#br-clm-014-connection-failure-surfaces-as-application-exception)).

## Secure settings

None. No `GetSecureConfigSetting` call, no `SystemHashUtil.ComputeHash`, and no credential, password, token, or API-key literal in this library's source or config files. The `SAIF.HashUtil` package is referenced in the project file but has no call site in this library — a residual or runtime-only reference.*

## Transitive configuration (from dependencies)

| Setting key | Method | Source dependency | Dependency type | Purpose |
| --- | --- | --- | --- | --- |
| Environment API service endpoint / application-id configuration | `GetConfigSetting` (framework-internal) | `SAIF.BOF.Framework.Security.EnvironmentApi` | NuGet | Bootstraps `EnvironmentService` itself; key name unknown from this repository.** |
| Oracle connection string / TNS resolution for portal key `ClaimDPI` | `CreateOraclePortal` (framework-internal) | `SAIF.BOF.Framework.Connection` | NuGet | Resolves the actual Oracle connection for the claim portal; key name unknown.** |
| AD SecurityService endpoint backing `UserAccess.HasAccess` | `IsAuthorized` (framework-internal) | `SAIF.BOF.Framework.Security` | NuGet | Backs all AD resource membership checks; key name unknown.** |
| Same-repo ProjectReference config consumption | n/a | `SAIF.Application`, `SAIF.Business.Tasks`, `SAIF.Business.Tasks.Claim` | ProjectReference | Not scanned in this pass; documented separately for each dependency library.* |

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `imagingapiurl` Environment API setting | Setting | First `ClaimImageApiClient` access (runtime) | Missing/blank value fails at first imaging use, not at manager construction; no fallback default. |
| `oracle.manageddataaccess.client` config section + `DbProviderFactories` registration | Custom config section / provider registration | Startup (Oracle connection open) | Without the hosting application's equivalent section, ODP.NET cannot register its provider and `CreateOraclePortal` fails, surfacing as `ApplicationException("Unable to Establish Database Connection")`. |
| Oracle connection resolution for `ClaimDPI` | Service (framework-internal) | Manager initialization | A resolution failure prevents the manager from establishing context; `MarkContextNotSet()`/`MarkNoAccess()` and rethrow. |
| AD/SecurityService resolution behind `UserAccess.HasAccess` | Service (framework-internal) | Every context change | A resolution failure would prevent `ClaimSecurity.CheckClaim` from completing; behavior on framework-service failure is unknown.** |

**Important runtime caveat:** a class library's `app.config`/`Web.config` are **not loaded at runtime**. The hosting `LegalMaintenance` web application must itself supply the `oracle.manageddataaccess.client` section declaration, the `DbProviderFactories` registration, the three binding redirects (`Newtonsoft.Json` → 8.0.0.0, `System.Runtime.CompilerServices.Unsafe` → 6.0.0.0, `System.Text.Json` → 6.0.0.2), and the `imagingapiurl` Environment API setting. These files declared in `SAIF.Application.Claim/app.config` and `SAIF.Application.Claim/Web.config` serve as the authoritative statement of the library's runtime requirements.*

## Configuration summary

| Metric | Value |
| --- | --- |
| Total unique setting keys discovered (directly consumed) | 1 (`imagingapiurl`) |
| Environment API (`GetConfigSetting`) | 1 |
| Environment API secure (`GetSecureConfigSetting`) | 0 |
| `ConfigurationManager.AppSettings` | 0 |
| `ApplicationSettingsBase` / `Settings.Default` | 0 |
| Secure / encrypted settings | 0 |
| Database connections | 1 (Oracle, logical portal key `ClaimDPI`, DB user `CLM`) |
| Raw connection strings in source or config | 0 |
| Custom configuration sections | 1 (`oracle.manageddataaccess.client`, declared in both `app.config` and `Web.config`, unpopulated) |
| Assembly binding redirects | 3 (`Newtonsoft.Json`, `System.Runtime.CompilerServices.Unsafe`, `System.Text.Json`) — `app.config` only |
| Logical constants that are *not* configurable | `ClaimAppConstants.DPIClaimKey = "ClaimDPI"`, `DataLayer.DBUser = "CLM"` |

**Overall posture:** configuration surface is minimal and externalized; the only environment-varying setting this library owns directly is `imagingapiurl`.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Related documentation
- [Library index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)

## Sources
- `SAIF.Application.Claim/ClaimAppManager.vb`
- `SAIF.Application.Claim/ClaimAppConstants.vb`
- `SAIF.Application.Claim/app.config`
- `SAIF.Application.Claim/Web.config`
- `SAIF.Application.Claim/packages.config`
- `SAIF.Application.Claim/SAIF.Application.Claim.vbproj`
